package com.us.util;

import org.apache.commons.lang.StringUtils;

/**
 * org.apache.commons.lang StringUtils 的扩展类
 * 
 * @author monlyu
 */
public class StringUtil {
    /**
     * 判断一个对象是否为空
     * 
     * @since 2009-12-28
     */
    public static boolean isEmpty(Object obj) {
        return StringUtils.isEmpty(obj == null ? null : obj.toString());
    }

    /**
     * 不为空
     */
    public static boolean isNotEmpty(Object obj) {
        return !StringUtil.isEmpty(obj);
    }

    /**
     * 本方法是判断有个字符串是否为空.包含 空白
     * 
     * @since 2009-12-29
     */
    public static boolean isTrimEmpty(Object obj) {
        return StringUtil.isEmpty(obj) || StringUtils.isBlank(obj.toString());
    }

    /**
     * 输出首字母大写
     * 
     * @since 2009-12-28
     */
    public static String capFisrtChar(String input) {
        if (StringUtil.isEmpty(input)) {
            return null;
        }
        if (input.length() < 2) {
            return Character.toUpperCase(input.charAt(0)) + "";
        }
        return Character.toUpperCase(input.charAt(0)) + input.substring(1);
    }

    /**
     * 前向后截取长度为i的字符串
     */
    public static Object shot(String input, int i) {
        if (input.length() <= i) {
            return input;
        } else {
            return input.substring(0, i);
        }
    }

    /**
     * 去除字符串的空白
     * 
     * @since 2010-1-12
     */
    public static String trim(String src) {
        return StringUtil.trim(src, "");
    }

    public static String trim(Object src) {
        if (src == null) {
            return "";
        }
        return trim(src.toString());
    }

    /**
     * 去除字符串的空格,如果为;null则用默认字符串代替
     * 
     * @since 2010-1-14
     */
    public static String trim(String src, String deflt) {
        if (StringUtil.isTrimEmpty(src)) {
            return deflt;
        }
        return src.trim();
    }

    public static boolean hasText(String txt, String allTxt) {
        return allTxt.indexOf(txt) > -1;
    }
}
